package com.zksk.mbg.admin.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zksk.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;

/**
 * <p>
 * 轮播图信息表
 * </p>
 *
 * @author Zksk Acmen
 * @since 2022-12-20
 */
@Data
@Accessors(chain = true)
@TableName("platform_fact_carousel")
@ApiModel(value = "Carousel对象", description = "轮播图信息表")
public class Carousel extends BaseEntity {

    @ApiModelProperty("主键ID")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @ApiModelProperty("图片名称")
    @TableField("`name`")
    private String name;

    @ApiModelProperty("图片存储路径")
    @TableField("path")
    private String path;

    @ApiModelProperty("图片链接URL")
    @TableField("url")
    private String url;

    @ApiModelProperty("轮播图类型（备用字段）")
    @TableField("`type`")
    private Integer type;

    @ApiModelProperty("轮播图显示顺序（从小到大）")
    @TableField("sort")
    private Integer sort;

    @ApiModelProperty("轮播图状态，是否展示（0是、1否）")
    @TableField("`status`")
    private Integer status;

    @ApiModelProperty("图片高度")
    @TableField("height")
    private Float height;

    @ApiModelProperty("图片宽度")
    @TableField("width")
    private Float width;

    @ApiModelProperty("图片格式（0jpg、1bmp，2png……）")
    @TableField("form")
    private Integer form;

    @ApiModelProperty("图片大小（单位：mb）")
    @TableField("size")
    private Float size;

    @ApiModelProperty("所属模板")
    @TableField("mould_id")
    private Long mouldId;

    @ApiModelProperty("所属平台")
    @TableField("stations_id")
    private Long stationsId;

    @ApiModelProperty("所属页面")
    @TableField("page_id")
    private Long pageId;

    @ApiModelProperty("删除标识（0 正常 2 删除）")
    @TableField(value = "del_flag", fill = FieldFill.INSERT)
    @TableLogic
    private Integer delFlag;


    public static final String ID = "id";

    public static final String NAME = "name";

    public static final String PATH = "path";

    public static final String URL = "url";

    public static final String TYPE = "type";

    public static final String SORT = "sort";

    public static final String STATUS = "status";

    public static final String HEIGHT = "height";

    public static final String WIDTH = "width";

    public static final String FORM = "form";

    public static final String SIZE = "size";

    public static final String MOULD_ID = "mould_id";

    public static final String STATIONS_ID = "stations_id";

    public static final String PAGE_ID = "page_id";

    public static final String DEL_FLAG = "del_flag";

    @Override
    public Serializable pkVal() {
        return this.id;
    }

}
